The patched attached enables x86_64 xenlinux with "late pin, early
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 26 Aug 2005 11:02:14 +0000 (11:02 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 26 Aug 2005 11:02:14 +0000 (11:02 +0000)
commit8a181133e2b48289ff83f5efdb4bdcb289346413
treee64901a67b6a6d5a79902b7c650ecd6afdf4de55
parentf67a7f79025ddd93f78aaa244eedf9e95b9e80f0
The patched attached enables x86_64 xenlinux with "late pin, early
unpin", which is already implemented for x86_32. Since we now only pin
the root rather than any of the other levels, the overall performance
became better especially with workloads that require heavy memory
management operations.

On 8-way x86_64 xenlinux (dom0) the kernel build was improved by about
10% (using make -j32). Even a small setup like a UP HT system, I see
about 3% performance gain with kernel build (make -j4).

Lmbench also shows improvements in fork/exec/sh:
Processor, Processes - times in microseconds - smaller is better
--------------------------------------------------------------------
Host    OS  Mhz   null null      open slct sig  sig  fork exec sh =20
                  call  I/O stat clos TCP  inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ----=20
Linux 2.6.12- 3786 1.13 1.36 3.93 6.04 10.5 1.43 4.33 536. 1446 3614
Linux 2.6.12- 3786 1.13 1.36 3.91 6.03 10.4 1.44 4.38 346. 1050 2831

Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/ldt.c
linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c
linux-2.6-xen-sparse/arch/xen/x86_64/mm/pageattr.c
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu.h [new file with mode: 0644]
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/mmu_context.h
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgalloc.h
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/tlbflush.h